#include "conf.h"
#include <string.h>

//dirección del registro TRISA
#byte TRISA = 85  

//dirección del puerto A
#byte puerto_a = 05   
#bit RA0 = puerto_a.0 


#int_RDA
//Cuando entra un mensaje se produce una interrupción
void  RDA_isr(void) {

   char entrada[5]="\0";

   //Guardamos el mensaje recibido
   fgets(entrada,BLUE); 

   char led1[3]="\0"; 
   char led2[3]="\0"; 

   led1="1";
   led2="2";
 
 //Comparamos el mensajes recibido para saber que hacer:
 
   if(strcmp(entrada,BLUE)==0)RA0=0; //ON
   else if(strcmp(entrada,BLUE)==0)RA0=1;//OFF
  else {
  	int i;
   	for( i=1; i<=10; i++){ 
 		puerto_a=0x00;delay_us(300);puerto_a=0x03;delay_us(700); 
 		puerto_a=0x00;delay_ms(50); puerto_a=0x03;delay_ms(50);
 	}   
 }
 
}


void main() {  
   //Desactivamos los comparadores
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   //Activamos las interrupciones
   enable_interrupts(INT_RDA); 
   enable_interrupts(GLOBAL);  

   //configuramos el puerto A
   set_tris_a( 0xfe); 
   puerto_a =0x01;

   putc('Z'); 

	//como el mensaje produce una interrupción, el resto del tiempo estamos en un bucle infinito sin hacer nada
   while(true){     

    }                                
 }
	
